package org.springblade.modules.notice.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springblade.core.mp.base.BaseEntity;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;

/**
 * 消息模板信息实体类
 *
 * @author ysq
 * @since 2024-09-27
 */
@EqualsAndHashCode(callSuper = true)
@Data
@ApiModel(value = "MessageTemplate对象", description = "消息模板信息")
public class MessageTemplateVO extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 标题
     */
    @ApiModelProperty(value = "标题")
    private String name;
    /**
     * 消息的发送ID类型：1-userId,2-did, 3-手机号, 4-openId
     */
    @ApiModelProperty(value = "消息的发送ID类型：1-userId,2-did, 3-手机号, 4-openId")
    private Integer idType;
    /**
     * 消息发送渠道：1-短信,2-公众号,3-语音电话,4-飞书机器人，5-app推送
     */
    @ApiModelProperty(value = "消息发送渠道：1-短信,2-公众号,3-语音电话,4-飞书机器人，5-app推送,6-梯无忧系统消息")
    private Integer sendChannel;
    /**
     * 消息类型：1-通知类消息
     */
    @ApiModelProperty(value = "消息类型：1-通知类消息 ")
    private Integer msgType;
    /**
     * 消息内容 占位符用{$var}表示
     */
    @ApiModelProperty(value = "消息内容 占位符用{$var}表示")
    private String msgContent;
    /**
     * 目标内容示例
     */
    @ApiModelProperty(value = "模板内容示例")
    private String templateContent;
    /**
     * 发送的渠道账号id
     */
    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "发送的渠道账号id ")
    private Long sendAccountId;
	/**
	 * 模板标题
	 */
	@ApiModelProperty(value = "模板标题")
	private String templateTitle;


}
